1. Field of the Invention
The present invention relates generally to a computer implemented method, data processing system, and computer program product for migrating processes from one data processing system to a second data processing system. More specifically, the present invention relates to a departure machine mapping process-depending pages prior to sending the page-out to an arrival machine. A dependent page, or a process-depending page, is a page that a process depends upon in the arrival machine, but for which, at the time that processes are created, is not present, even as a copy, in the arrival machine.
2. Description of the Related Art
Process migration is used by data center managers to transfer running processes from one machine or data processing system to a second machine. The first machine is a departure machine. Accordingly, the departure machine is a source for processes and the process-depending pages that the processes rely on for correct operation. An arrival machine is the second machine in this configuration. An arrival machine is a data processing system to which processes are migrated.
A virtual memory system is a memory management system that allows machines with data and code requirements that exceed physical memory availability to function such that pages of memory are moved back and forth between a paging device and physical memory. Physical memory is a form of storage that allows storage of words or bytes one at a time, in random order, without significant delays as compared to storing tracts of data to contiguous words or bytes. In contrast, a paging device is a block device that accesses data in units of pages. Memory can be either a physical memory or a paging device. A paging device can be, for example, magnetic media, optical media, or flash memory.
A paging device can be local or remote. The designation “local paging device” means that the paging device is local with respect to the physical memory for which it serves as a backing store. The term “local” means that the device is directly attached to a single computer's motherboard or backplane by any combination of bus bridge, PCI bridge, i/o bridge, the computer's bus, or universal serial bus. The term “remote” means that the device is separated from the computer motherboard or backplane by at least a cable hosting networking traffic such as asynchronous transfer mode (ATM), transport control protocol internet protocol (TCP/IP), Ethernet, and the like.
A page is the smallest unit of virtual memory that is moved from physical memory to a paging device and vice-a-versa. A page includes at least a hundred bytes, for example, 4K or 16K page sizes are typical. A page can be a zeroed page. A zeroed page is a page where all bytes of the page are set to the same number, for example 0x0. Accordingly, a zeroed page can be a page that is filled with zeros. A zeroed page can be an uninitialized page.
Among the challenges faced by data center managers is balancing load among several machines. Load balancing can be improved by occasionally migrating processes among machines. However, the cost to migrating processes is that processor time and communication resources are devoted to transferring code and data corresponding to each migrated process to the arrival machine.